(define (enumerate a-list)
  (enumerate-iter a-list '() 0))

(define (enumerate-iter a-list enum-list counter)
  (if (eq? a-list '()) (reverse enum-list)
      (enumerate-iter (cdr a-list)
                      (cons (list counter (car a-list)) enum-list)
                      (+ counter 1))))

